home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #5 / Amiga Plus CD - 2000 - No. 5.iso / Tools / Dev / lame_src / README.DJGPP < prev    next >
Text File  |  2000-01-01  |  4KB  |  89 lines

  1.  
  2.                Compiling LAME with DJGPP
  3.                        by S.T.L.               
  4.  
  5. (LAME's homepage is http://www.sulaco.org/mp3, and LAME is distributed
  6. under the LGPL. More information is in the README file)
  7.  
  8. ============================================================================
  9.  
  10. (Note: S.T.L. doesn't know C programming (...yet) but he has learned
  11. how to compile things with DJGPP. He's not providing his E-mail address
  12. here because he wouldn't know how to answer any questions even if you
  13. asked him!)
  14.  
  15. Compiling LAME with DJGPP is actually somewhat easy, though not as easy
  16. as you might expect at first glance. Here are step-by-step instructions
  17. on how to compile LAME with the latest version of DJGPP. S.T.L. runs a
  18. Pentium III 600Mhz system using Windows 98 SE. These instructions should
  19. work on any Windows 9x system and probably Windows 2000 as well, and for
  20. all true Intel Pentium III, Pentium II, Celeron, or Pentium Pro processors.
  21. The instructions can be made to work (with less optimization) on other
  22. processors including Pentium (MMX or not), 486, 386, and K6. Also this
  23. might work under DOS, but I haven't tried it. S.T.L. takes no responsibility
  24. for what you do with these instructions. Now, let's get compiling!
  25.  
  26. 1) Find and install DJGPP.  It's at www.delorie.com. They have a Zip Picker
  27. there that makes the process easy and painless.
  28.  
  29. 2) Download the LAME sourcecode, preferably the latest version. Extract it
  30. to a directory using WinZip or another decompressor set to preserve the
  31. directory structure. Hopefully you already have done this, as you're reading
  32. this file!
  33.  
  34. 3) Create a new directory wherever. I called mine Crud.
  35.  
  36. 4) In the directory with all the .c and .h files (and the README, INSTALL, etc
  37. files), copy all the *.c and *.h files to the Crud directory.
  38.  
  39. 5) Go into the Crud directory and delete the following files and no others:
  40. debugscalefac.c
  41. mp3rtp.c
  42. mp3x.c
  43. rtp.c
  44.  
  45. 6) The command (don't type this!)
  46. GCC -o LAME_BAD.EXE -DNDEBUG -DLAMESNDFILE -DLAMEPARSE *.c
  47. should now create a terribly unoptimized but working LAME_BAD.EXE. Don't type
  48. it, because optimizations are a good thing and are what you want. I only
  49. provide the command so you can use it as a last resort. Here's how to execute
  50. the optimized command:
  51.  
  52. 7) In the Crud directory, create a new file. I called mine FILE. (In the DOS
  53. prompt, typing EDIT FILE will create such a file with no extension). Make its
  54. text consist of:
  55.  
  56. -s -O2 -march=i686 -fomit-frame-pointer -ffast-math -funroll-loops 
  57. -funroll-all-loops -malign-double -fstrict-aliasing -o LAME.EXE -DNDEBUG 
  58. -DLAMESNDFILE -DLAMEPARSE *.c
  59.  
  60. That should be one line in FILE even if it doesn't look like it in NotePad
  61. or whereever you're reading this. It is case sensitive.  If you're curious,
  62. you're making this file instead of typing a commandline directly
  63. because DOS will scream at such a long commandline.
  64.  
  65. ***ONLY FOR PENTIUM III, PENTIUM II, CELERON, OR PENTIUM PRO USERS***
  66. 8) Now, save FILE and go back to the Crud directory. Typing GCC @FILE will
  67. now compile LAME.EXE. It will be heavily optimized - on my machine, it can
  68. encode a .WAV file using the -h -b256 -ms options at 5.73X, while the
  69. official binary I downloaded and ran using those same options only achieved
  70. 5.32X.
  71.  
  72. 9) Have fun!
  73.  
  74. ***FOR OTHER PROCESSORS***
  75. 8a) Using the commandline in (7) won't work for non-P6-core processors.
  76. Therefore you must use another commandline. The key is the -march=i686
  77. option. If you are running a Pentium (MMX or not), use -march=i586. For
  78. the 386 and 486, the option should now be self-explanatory! For a K6
  79. processor, use -march=k6 . For any other type of processor, you'll just
  80. have to not use the -march option at all, which will cost you some
  81. optimization. If you'd like to create an executable that runs fast on
  82. [modern computer X], say a Pentium III, but you still want it to be
  83. able to run on any i386 or later computer, use the -mcpu=[CPU TYPE
  84. HERE], using the same cpu types as -march= accepts.  The
  85. mcpu option gives less optimization, though.
  86.  
  87. 9a) Have fun!
  88.  
  89.